#ifndef CPP_BITMAP_H
#define CPP_BITMAP_H

#include <Global.h>
#include <MiniGui.h>

//@brief 位图
//@author cvte
//@description 读取位图
class Bitmap {
   public:
    Bitmap();
    ~Bitmap();

    BITMAP* getData();
    void setFilePath(const char* filePath);
    const char* getFilePath();

    //@method 获取图片实际宽度，即图片本来的宽度
    int getRealWidth();
    //@method 获取图片实际高度，即图片本来的高度
    int getRealHeight();

    //@method 获取图片宽度，为图片显示的宽度（旋转前的宽度）
    int getWidth();
    //@method 获取图片高度，为图片显示的高度（旋转前的高度）
    int getHeight();

    void blur(int radius); //模糊（毛玻璃）效果，效果半径radius

    void recycle();
    bool isRecycled();

   private:
    BITMAP* mBmp = nullptr;
    const char* mFilePath = nullptr;
};

#endif /* CPP_BITMAP_H */